#include <stdlib.h>

typedef enum {
    MACRO_EXPAND,
    PARSE,
    EMIT_ASM,
} stage_t;

void print_help(){
    printf("第一代国产编译器帮助")
}
int main(int argc, char *argv[]){
    ++argv, --argc;  //掠过程序名
    stage_t terminate_at = EMIT_ASM;
    char *file_name;
    if(argc==1 && strcmp(argv[0], "--help")==0){
        //帮助进这里
         print_help();
        return 0;
    } else if(argc ==1){
        file_name=argv[0];
    } else if(argc ==2 && strcmp(argv[0],"--dump-expansion")){
        //如果执行--dump-expansion预编译时报错，进入这里
        terminate_at = MACRO_EXPAND;
        file_name=argv[1];
    }  else if(argc==2  && strcmp(argv[0],"--dump-ast")==0){
          //如果执行--dump-ast预编译时报错，进入这里
        terminate_at = PARSE;
        file_name=argv[1]
    } else {
        //通过预编译
        printf("通过预编译")
        return 1
    }
    int result;
    int filesize = 1024
    //为预编译创建临时文件
    char command[1024]={0};
    //gcc -E预处理,生成的文件为  expanded.c
    snprintf(command,filesize,"gcc -E %s > .expanded.c", file_name);
//system可以给操作系统发送指定
    result = system(command)

}